package com.ktgj.customer.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠券信息对象 coupon
 * 
 * @author ruoyi
 * @date 2021-08-03
 */
public class Coupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 优惠券编号 */
    private Long couponId;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    private String couponName;

    /** 优惠券类型 */
    @Excel(name = "优惠券类型")
    private String couponType;

    /** 优惠券描述 */
    @Excel(name = "优惠券描述")
    private String couponDesc;

    /** 优惠券折扣 */
    @Excel(name = "优惠券折扣")
    private BigDecimal couponDiscount;

    /** 优惠券最大金额 */
    @Excel(name = "优惠券最大金额")
    private BigDecimal couponMaxprice;

    /** 优惠券金额 */
    @Excel(name = "优惠券金额")
    private BigDecimal couponPrice;

    /** 优惠券商品编号 */
    @Excel(name = "优惠券商品编号")
    private Long couponGoods;

    /** 优惠券创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date couponCreatetime;

    /** 优惠券创建人 */
    @Excel(name = "优惠券创建人")
    private Long couponCreator;

    /** 生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validTime;

    /** 失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invalidTime;

    /** 优惠券类型 */
    @Excel(name = "优惠券类型")
    private String couponStatus;

    public void setCouponId(Long couponId) 
    {
        this.couponId = couponId;
    }

    public Long getCouponId() 
    {
        return couponId;
    }
    public void setCouponName(String couponName) 
    {
        this.couponName = couponName;
    }

    public String getCouponName() 
    {
        return couponName;
    }
    public void setCouponType(String couponType)
    {
        this.couponType = couponType;
    }

    public String getCouponType()
    {
        return couponType;
    }
    public void setCouponDesc(String couponDesc) 
    {
        this.couponDesc = couponDesc;
    }

    public String getCouponDesc() 
    {
        return couponDesc;
    }

    public BigDecimal getCouponDiscount() {
        return couponDiscount;
    }

    public void setCouponDiscount(BigDecimal couponDiscount) {
        this.couponDiscount = couponDiscount;
    }

    public BigDecimal getCouponMaxprice() {
        return couponMaxprice;
    }

    public void setCouponMaxprice(BigDecimal couponMaxprice) {
        this.couponMaxprice = couponMaxprice;
    }

    public BigDecimal getCouponPrice() {
        return couponPrice;
    }

    public void setCouponPrice(BigDecimal couponPrice) {
        this.couponPrice = couponPrice;
    }

    public void setCouponGoods(Long couponGoods)
    {
        this.couponGoods = couponGoods;
    }

    public Long getCouponGoods() 
    {
        return couponGoods;
    }
    public void setCouponCreatetime(Date couponCreatetime) 
    {
        this.couponCreatetime = couponCreatetime;
    }

    public Date getCouponCreatetime() 
    {
        return couponCreatetime;
    }
    public void setCouponCreator(Long couponCreator) 
    {
        this.couponCreator = couponCreator;
    }

    public Long getCouponCreator() 
    {
        return couponCreator;
    }
    public void setValidTime(Date validTime) 
    {
        this.validTime = validTime;
    }

    public Date getValidTime() 
    {
        return validTime;
    }
    public void setInvalidTime(Date invalidTime) 
    {
        this.invalidTime = invalidTime;
    }

    public Date getInvalidTime() 
    {
        return invalidTime;
    }

    public String getCouponStatus() {
        return couponStatus;
    }

    public void setCouponStatus(String couponStatus) {
        this.couponStatus = couponStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("couponId", getCouponId())
            .append("couponName", getCouponName())
            .append("couponType", getCouponType())
            .append("couponDesc", getCouponDesc())
            .append("couponDiscount", getCouponDiscount())
            .append("couponMaxprice", getCouponMaxprice())
            .append("couponPrice", getCouponPrice())
            .append("couponGoods", getCouponGoods())
            .append("couponCreatetime", getCouponCreatetime())
            .append("couponCreator", getCouponCreator())
            .append("validTime", getValidTime())
            .append("invalidTime", getInvalidTime())
                .append("couponStatus", getCouponStatus())
            .toString();
    }
}
